// Vue.config.js 配置选项

module.exports = {
  // 选项

  // 基本路径

  publicPath: './', // 构建时的输出目录

  outputDir: 'dist', // 放置静态资源的目录

  assetsDir: 'static', // html 的输出路径

  indexPath: 'index.html', // 文件名哈希

  filenameHashing: true, // 用于多页配置，默认是 undefined

  pages: {
    index: {
      // page 的入口文件

      entry: 'src/main.js', // 模板文件

      template: 'public/index.html', // 在 dist/index.html 的输出文件

      filename: 'index.html', // 当使用页面 title 选项时， // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>

      title: 'Index Page', // 在这个页面中包含的块，默认情况下会包含 // 提取出来的通用 chunk 和 vendor chunk。

      chunks: ['chunk-vendors', 'chunk-common', 'index']
    } // 当使用只有入口的字符串格式时， // 模板文件默认是 `public/subpage.html` // 如果不存在，就回退到 `public/index.html`。 // 输出文件默认是 `subpage.html`。

    // subpage: 'src/subpage/main.js'
  }, // 是否在保存的时候使用 `eslint-loader` 进行检查。

  lintOnSave: true, // 是否使用带有浏览器内编译器的完整构建版本

  runtimeCompiler: false, // babel-loader 默认会跳过 node_modules 依赖。

  transpileDependencies: [
    /* string or regex */
  ], // 是否为生产环境构建生成 source map？

  productionSourceMap: true, // 设置生成的 HTML 中 <link rel="stylesheet"> 和 <script> 标签的 crossorigin 属性。

  crossorigin: '', // 在生成的 HTML 中的 <link rel="stylesheet"> 和 <script> 标签上启用 Subresource Integrity (SRI)。

  integrity: false, // 调整内部的 webpack 配置

  configureWebpack: () => {}, // (Object | Function)

  chainWebpack: () => {}, // 配置 webpack-dev-server 行为。

  devServer: {
    open: process.platform === 'darwin',

    host: '0.0.0.0',

    port: 8080,

    https: false,

    hotOnly: false, // 查阅 https://github.com/vuejs/vue-docs-zh-cn/blob/master/vue-cli/cli-service.md#配置代理

    proxy: {
      // 线上版本
      // '/': {
      //   target: '',
      //   changeOrigin: true,
      //   secure: false,
      //   pathRewrite: {
      //     '': ''
      //   }

      // 本地版本
      // 这是第一个代理
      '/': {
        // target: 'http://10.90.247.114:28083',
        target: 'http://123.56.136.158:28083',
        // 李树明
        // target:'http://10.90.247.106:8080/mxapi',
        // 寇纳博
        // target: 'http://10.90.247.112:8081/wxws',
        // target: 'http://10.90.247.117:8080/wxws',
        // target: 'http://10.90.247.75:8092',
        // target: '/mxapi',
        changeOrigin: true,
        secure: false,
        pathRewrite: {
          '^/': ''
        }
      },
      // 这是第二个代理
      // '/apisecond/*': {
      //   target: 'http://ttapi.research.itcast.cn',
      //   pathRewrite: { '^/apisecond': '' },
      //   changeOrigin: true
      // },

      '/foo': {
        target: '<other_url>'
      }
    }, // string | Object

    before: app => {}
  }, // CSS 相关选项
  // 在生产环境下为 Babel 和 TypeScript 使用 `thread-loader` // 在多核机器下会默认开启。
  css: {
    extract: true, // false表示开发环境,true表示生产环境
    sourceMap: false,
    loaderOptions: {
      postcss: {
        plugins: [
          require('@njleonzhang/postcss-px-to-rem')({
            unitToConvert: 'px',
            widthOfDesignLayout: 7000,
            // widthOfDesignLayout: 14000,
            unitPrecision: 5,
            selectorBlackList: [],
            minPixelValue: 1,
            mediaQuery: false
          })
        ]
      }
    }
  },
  parallel: require('os').cpus().length > 1, // PWA 插件的选项。 // 查阅 https://github.com/vuejs/vue-docs-zh-cn/blob/master/vue-cli-plugin-pwa/README.md

  pwa: {}, // 三方插件的选项

  pluginOptions: {
    // ...
  }
}
